﻿using Common.Communication;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace DeviceBase.Interfaces
{
    public interface IDianZiFuZai : IDevice
    {
        ///// <summary>
        ///// 设置最大负载
        ///// </summary>
        ///// <param name="maxInput"></param>
        ///// <returns></returns>
        //Result<bool> SetMaxFuZai(Enums.DianZiFuZaiMode.FuZaiMode mode,double maxInput);
        /// <summary>
        /// 设置负责模式
        /// </summary>
        /// <param name="mode"></param>
        /// <returns></returns>
        Result<bool> SetFuZaiMode(Enums.DianZiFuZaiEnum.FuZaiMode mode);
        /// <summary>
        /// 设置负载值
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        Result<bool> SetFuZai(Enums.DianZiFuZaiEnum.FuZaiMode mode,double value);
        /// <summary>
        /// 设置负载状态
        /// </summary>
        /// <param name="enable"></param>
        /// <returns></returns>
        Result<bool> SetStatus(bool enable);
        /// <summary>
        /// 读取负载设置值
        /// </summary>
        /// <param name="testModel"></param>
        /// <returns></returns>
        Result<double> ReadSetValue(Enums.DianZiFuZaiEnum.FuZaiMode mode);
        /// <summary>
        /// 读取当前消耗值
        /// </summary>
        /// <param name="testModel"></param>
        /// <returns></returns>
        Result<double> ReadCurrentValue(Enums.DianZiFuZaiEnum.FuZaiMode mode);
    }
}
